Add DX Marathon award and alert support - #1099
Conversation
Introduce a DX Marathon award UI and alert integration. Adds AwardDXMarathon (awards/AwardDXMarathon.{cpp,h}) with ADIF export and listing, registers it in AwardsDialog and UI. Alert system: new dxMarathon flag in AlertRule (save/load/match/operator), AlertRuleDetail UI checkbox, and alert evaluation logic to detect new entities/zones. Persistence: migration_040.sql adds alert_rules.dx_marathon and Migration::latestVersion bumped to 40. Settings: LogParam getters/setters and SettingsDialog controls to choose profile vs callsign matching. Updated resources (res.qrc) and small UI text tweak.
Prevent DX Marathon from being filtered by the normal DXCC log-status: AlertEvaluator now skips the dxLogStatusMap check when dxMarathon is true, adds a marathonEligible SQL clause (allowed bands and excludes /AM and /MM suffixes), and improves debug output showing entity/zone worked state. Fixed a typo in StationProfile (darc_doc -> darc_dok) so contact inner-join uses the correct column. Added unit tests for StationProfile (test pro and tst_stationprofile.cpp) and registered the test in tests.pro. Updated AlertRuleDetail.ui tooltip to clarify DX Marathon ignores DXCC log-status selections.
|
Do you think it is a good idea to open this can of worms? I am asking because I already feel a lot of pressure from different directions to add support for all kinds of programs and activities to QLog. There are hundreds of them in the ham radio world. Almost an endless number, as it sometimes feels like everyone is creating a new award or organizing a contest. It is simply not possible to include all of them directly in the GUI or to keep adding special GUI exceptions for each one. Why should DX Marathon be the next one? |
|
Honestly I had always heard of it but never really looked into it. I thought it was an interesting award once I read up on it. Not really any other reason.
… On Jul 21, 2026, at 4:05 AM, Ladislav ***@***.***> wrote:
foldynl
left a comment
(foldynl/QLog#1099)
<#1099 (comment)>
Do you think it is a good idea to open this can of worms?
I am asking because I already feel a lot of pressure from different directions to add support for all kinds of programs and activities to QLog. There are hundreds of them in the ham radio world. Almost an endless number, as it sometimes feels like everyone is creating a new award or organizing a contest.
It is simply not possible to include all of them directly in the GUI or to keep adding special GUI exceptions for each one.
Why should DX Marathon be the next one?
—
Reply to this email directly, view it on GitHub <#1099?email_source=notifications&email_token=AUEEMXR27Q6UN5ZEIDVGU4D5F4W7PA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBTGIYTCNZVGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-5032117555>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AUEEMXSYKQHYR6TUHAHQQTT5F4W7PAVCNFSNUABFKJSXA33TNF2G64TZHMZTQNZUG4ZDCMJXHNEXG43VMU5TIOBXHE2DMMBWHEY2C5QC>.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/AUEEMXUE6ZXCS2V7JEVIEEL5F4W7PA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBTGIYTCNZVGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG> and Android <https://github.com/notifications/mobile/android/AUEEMXRIEGBO74LF5KHA2ZT5F4W7PA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBTGIYTCNZVGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>. Download it today!
You are receiving this because you authored the thread.
|
|
This probably needs to be designed differently. There are already many such requests, and there will likely be more and more in the future. I do not want to reject everything automatically, because that is not the right approach. At the same time, I do not want QLog to end up with a dialog full of checkboxes for awards and other activities. POTA, SOTA, IOTA, and similar programs are included because they are widely known and, more importantly, have dedicated fields in ADIF. This may not be the ideal criterion, but we had to start somewhere. However, as the number of supported activities grows, this distinction will probably no longer be sufficient. The settings could also become large, complicated, and difficult to maintain. At the moment, though, I am not sure what the best solution would be. |
|
Ok I understand your concerns. I will go ahead and close this PR and it can be revisited again later. |
Introduce a DX Marathon award UI and alert integration.
Adds AwardDXMarathon (awards/AwardDXMarathon.{cpp,h}) with ADIF export and listing, registers it in AwardsDialog and UI.
Alert system: new dxMarathon flag in AlertRule (save/load/match/operator), AlertRuleDetail UI checkbox, and alert evaluation logic to detect new entities/zones.
Persistence: migration_040.sql adds alert_rules.dx_marathon and Migration::latestVersion bumped to 40.
Settings: LogParam getters/setters and SettingsDialog controls to choose profile vs callsign matching. Updated resources (res.qrc) and small UI text tweak.